<?php 

	/**
	 * 该类未完善，等待完善的类为error类。
	 * @author Administrator
	 *
	 */
	class Tag{
		
		private $unique_tags=null;
		private $double_tags=null;
		
		/**
		 * 根据参数，生成相应的html模板标签，此功能仿制于Phalcon
		 * @param string $tag 需要生成的标签
		 * @param array $params 设置标签参数
		 * 
		 */
		public static function start($tag, $params){
			//检测tag合法性
			if( self::filter_tag($tag, 1) ){
				self::tag_produce($tag);
			}else{
				leaf::error();
			}
		}
		
		/**
		 * 检测$tag的合法性
		 * @param string $tag 被检查的传入标签
		 * @param int $type 为2时检测的是结束标签，否则为开始标签
		 */
		public static function filter_tag($tag, $type=1){
			self::$unique_tags = array('input', 'img', 'br', 'hr');
			self::$double_tags = array('html', 'body', 'form', 'a', 'div', 'ul', 'li', 'dl', 'span', 'table', 'tr', 'td', 'img', 'p', 'head', 'title');
			switch($type){
				case 2:
					$result = ( is_string($tag) && in_array( $tag, array_merge(self::$unique_tags, self::$double_tags) ) );
					break;
				default:
					$result = ( is_string($tag) && in_array( $tag, self::$unique_tags ) );
			}
			return $result;
		}
		
		/**
		 * 根据输入值生成标签
		 */
		public static function tag_produce(){
			
		}
		
		/**
		 * 生成结束标签
		 * @param string $tag
		 */
		public static function end( $tag ){
			if( self::filter_tag( $tag, 2 ) ){
				
			}else{
				leaf::error();
			}
		}
		
		
		/**
		 * 设置网页的title
		 * @param string $string
		 */
		public static function setTitle($string){
			
		}
	}
?>